/**
 * 数据交换元素，使数组的和相等，返回交换的数字
 * 如果有多个答案，你可以返回其中任何一个。保证答案存在。
 */
/**
 * 输入：A = [1,1], B = [2,2]
输出：[1,2]
输入：A = [1,2], B = [2,3]
输出：[1,2]
输入：A = [2], B = [1,3]
输出：[2,3]
 */

fairCandySwap([1,2], [2,3])

function fairCandySwap(A, B) {
    // 必须要深拷贝
    let testa = copy(A)
    let testb = copy(B)
    for(let i in testa){
        for(let j in testb){
            
            testa.splice(i, 1, B[j])
            testb.splice(j, 1, A[i])
            
            console.log(A, B)
            if(add(testa) === add(testb)){
                console.log(A[i], B[j])
               return [A[i], B[j]]
            }else{
                testa = copy(A)
                testb = copy(B)
            }
        }
    }
};

function add(arr){
    let res = 0
    for(let i in arr){
        res += arr[i]
    } 
    return res
}
function copy(arr){
    let res = []
    for(let i in arr){
        res.push(arr[i])
    }
    return res
}